﻿using System;

namespace Mono.Cecil
{
	// Token: 0x020000A9 RID: 169
	public sealed class ModuleParameters
	{
		// Token: 0x170001AC RID: 428
		// (get) Token: 0x060006B2 RID: 1714 RVA: 0x000217D4 File Offset: 0x0001F9D4
		// (set) Token: 0x060006B3 RID: 1715 RVA: 0x000046F3 File Offset: 0x000028F3
		public ModuleKind Kind
		{
			get
			{
				return this.kind;
			}
			set
			{
				this.kind = value;
			}
		}

		// Token: 0x170001AD RID: 429
		// (get) Token: 0x060006B4 RID: 1716 RVA: 0x000217EC File Offset: 0x0001F9EC
		// (set) Token: 0x060006B5 RID: 1717 RVA: 0x000046FD File Offset: 0x000028FD
		public TargetRuntime Runtime
		{
			get
			{
				return this.runtime;
			}
			set
			{
				this.runtime = value;
			}
		}

		// Token: 0x170001AE RID: 430
		// (get) Token: 0x060006B6 RID: 1718 RVA: 0x00021804 File Offset: 0x0001FA04
		// (set) Token: 0x060006B7 RID: 1719 RVA: 0x00004707 File Offset: 0x00002907
		public uint? Timestamp
		{
			get
			{
				return this.timestamp;
			}
			set
			{
				this.timestamp = value;
			}
		}

		// Token: 0x170001AF RID: 431
		// (get) Token: 0x060006B8 RID: 1720 RVA: 0x0002181C File Offset: 0x0001FA1C
		// (set) Token: 0x060006B9 RID: 1721 RVA: 0x00004711 File Offset: 0x00002911
		public TargetArchitecture Architecture
		{
			get
			{
				return this.architecture;
			}
			set
			{
				this.architecture = value;
			}
		}

		// Token: 0x170001B0 RID: 432
		// (get) Token: 0x060006BA RID: 1722 RVA: 0x00021834 File Offset: 0x0001FA34
		// (set) Token: 0x060006BB RID: 1723 RVA: 0x0000471B File Offset: 0x0000291B
		public IAssemblyResolver AssemblyResolver
		{
			get
			{
				return this.assembly_resolver;
			}
			set
			{
				this.assembly_resolver = value;
			}
		}

		// Token: 0x170001B1 RID: 433
		// (get) Token: 0x060006BC RID: 1724 RVA: 0x0002184C File Offset: 0x0001FA4C
		// (set) Token: 0x060006BD RID: 1725 RVA: 0x00004725 File Offset: 0x00002925
		public IMetadataResolver MetadataResolver
		{
			get
			{
				return this.metadata_resolver;
			}
			set
			{
				this.metadata_resolver = value;
			}
		}

		// Token: 0x170001B2 RID: 434
		// (get) Token: 0x060006BE RID: 1726 RVA: 0x00021864 File Offset: 0x0001FA64
		// (set) Token: 0x060006BF RID: 1727 RVA: 0x0000472F File Offset: 0x0000292F
		public IMetadataImporterProvider MetadataImporterProvider
		{
			get
			{
				return this.metadata_importer_provider;
			}
			set
			{
				this.metadata_importer_provider = value;
			}
		}

		// Token: 0x170001B3 RID: 435
		// (get) Token: 0x060006C0 RID: 1728 RVA: 0x0002187C File Offset: 0x0001FA7C
		// (set) Token: 0x060006C1 RID: 1729 RVA: 0x00004739 File Offset: 0x00002939
		public IReflectionImporterProvider ReflectionImporterProvider
		{
			get
			{
				return this.reflection_importer_provider;
			}
			set
			{
				this.reflection_importer_provider = value;
			}
		}

		// Token: 0x060006C2 RID: 1730 RVA: 0x00004743 File Offset: 0x00002943
		public ModuleParameters()
		{
			this.kind = ModuleKind.Dll;
			this.Runtime = ModuleParameters.GetCurrentRuntime();
			this.architecture = TargetArchitecture.I386;
		}

		// Token: 0x060006C3 RID: 1731 RVA: 0x00021894 File Offset: 0x0001FA94
		private static TargetRuntime GetCurrentRuntime()
		{
			return typeof(object).Assembly.ImageRuntimeVersion.ParseRuntime();
		}

		// Token: 0x040001EC RID: 492
		private ModuleKind kind;

		// Token: 0x040001ED RID: 493
		private TargetRuntime runtime;

		// Token: 0x040001EE RID: 494
		private uint? timestamp;

		// Token: 0x040001EF RID: 495
		private TargetArchitecture architecture;

		// Token: 0x040001F0 RID: 496
		private IAssemblyResolver assembly_resolver;

		// Token: 0x040001F1 RID: 497
		private IMetadataResolver metadata_resolver;

		// Token: 0x040001F2 RID: 498
		private IMetadataImporterProvider metadata_importer_provider;

		// Token: 0x040001F3 RID: 499
		private IReflectionImporterProvider reflection_importer_provider;
	}
}
